// nuxtjs的插件就是简单的暴露出一个函数
// 插件会返回一个nuxt对象
import { Message } from 'element-ui';
export default ({$axios,redirect})=>{
    // console.log(nuxt);
     // axios每次请求结果返回是错误（状态码是400、 401、403），就会触发onError拦截器
    //  错误状态统一管理
    //  onError是浏览器的原生的错误方法，res是浏览器捕捉的一个错误，要获取错误状态服务器响应回来的数据，需要通过res.response来获取
    $axios.onError(res=>{
        const {message,statusCode} = res.response.data
        if(statusCode === 400){
            Message.error(message);
        }
        // 禁止访问或者没有权限，403是用户没有登录，401处理过期或者错误的token
        const Error = [401,403];
        if(Error.indexOf(statusCode) > -1){
            Message.error('请先登录');
             // 跳转到登录页
            redirect("/user/login");
        }
    })
}